題目從何而來
新手面試官在面試前,除了閱讀面試者履歷外,準備面試題目是另個課題。如同準備考試會去找考古題,收集題目解題,確認自己準備了多少;而面試官稍微不同是,面試官也需要了解面試者如何解題,但更關注是其他人怎麼提問、設計。這就可以從題庫一探究竟。
以下分享幾種常見的題目來源。
常見來源
公司題庫
大多公司都一套內部面試題目。比如說著名的刷題網站 LeetCode,一開始就是收集大公司面試題目發展而來。隨著公司成長,人資以及面試官累積過往題目,有些會成為標準題庫,讓面試官可以從中抽題。
公司題庫有幾種特性:
- 業務需求:公司題庫有一特徵是,與自家業務或領域相關。例如公司專精於自然語言處理(NLP),題庫就會側重文字處理。
- 技術演進:公司題目會隨著公司技術演進,反應技術更迭,一併調整面試題目。例如當 ChatGPT 問世後,是否要讓面試者使用 AI 輔助作答。
- 歷史經驗:公司題目會反應過往經驗, 留下有效篩選面試者題目再進一步調整。例如發覺面試者作答兩極化,可考慮將題目進行不同難度分級。
值得一提是,公司題庫是公司資產,如果任意洩漏攜出,會有違反保密協議以及勞務契約中著作權條款風險。
面試經驗文
面試經驗文章則是從面試者角度了解面試題,同時了解產業趨勢。主要來源就是各大網路論壇、服務,例如面試趣、天眼通、PTT、Dcard、臉書社團,國外就是 Reddit 、 Hacker News 等等,新進平台就是 Threads。
主要可從中得知現場趨勢:
- 技術趨勢:通常會簡要論述面試官提問,例如可能是 NoSQL、演算法相關等等。了解其他產業/公司面試官偏好什麼題目,甚至了解公司選用技術、工具。
- 職務連結性:通常會有面試者基本資訊,例如新鮮人、轉職者、四大畢業等等,以及應徵什麼職位、預計薪水,可以從中了解產業趨勢,以及面試者應徵趨勢。
- 面試流程:通常會簡略說明面試次數、共幾面、流程、參與者、參與者分工,都可以從中了解其他公司面試方式,以及面試者在乎什麼,例如次數、態度、難易度等等。
面試經驗文可得到蠻多資訊,所以有些公司要求簽署保密協議,避免面試者公開過多面試資訊。
坊間題庫
最常見以及有效率作法,就是去找統整好題庫。以下就列舉幾個我知道的。
第一種就是面試刷題用的題庫,例如 LeetCode。可以研究題目設計方式,以及如何進行評價。
第二種就是閱讀,這裡推兩本蠻實用的面試書籍,雖然是站在面試者角度,但面試官也可以從中了解問題點在哪。
- 提升程式設計師的面試力(台灣中文版由碁峰出版社出版)
- 內行人才知道的系統設計面試指南(台灣中文版由碁峰出版社出版)
最後這種條列式的問題清單,可以從中看一下有沒有不錯的題目:
重新設計
當你使用這些題庫時,務必要注意:
- 是否適合這個職缺?例如你問了應徵 JavaScript 後端工程師,要如何使用 webpack,雖然他們都是 JavaScript,但後端工程師不一定會了解使用 webpack。
- 是否適合現在?例如你詢問 var 和 const/let 差異,這在前幾年剛轉換成 ES6 時有他的了解需求,不過現在都是直接寫 ES6,了解兩者差異的實益就沒那麼高。
- 是否具有鑑別度?有鑑別度的問題,表示問題有隱含層次性可能,例如系統日誌系統,會因為不同需求分級設計,可以設計的很複雜,也可以很簡單。
揀選問題時,務必要檢視問題適切度,必要時最好重新設計問題,你也會對問題有進一步了解,同時在提問時,就可以延伸問題,發展提問空間。
本系列文同步發表於個人網站。